package com.gitee.sparta.annotation;

import java.lang.annotation.*;

/**
 * 监听器标识，用于方法层面，标注该方法是消费的哪个 topic 的回调
 *
 * !@SpartaListener(topics={"TOPIC_1", "TOPIC2"})
 * public void orderCancelListener (Order order) {
 *     ..... do nothing ....
 * }
 *
 * @author zyred
 * @since v 0.0.1
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SpartaListener {

    /**
     * 对方法所监听的 TOPIC 进行描述
     * 当有回调产生的时候，会寻找对应的 TOPIC 所在的监听进行回调
     *
     * @since v 0.0.1
     * @return  [topic1, topic2]
     */
    String[] topics();

}
